package com.hbnu.array;

import java.util.Scanner;

/**
 * 数据加密
 *  键盘录入数据，要求数据是6位的整数，现需要对数据进行加密，加密规则如下：
 *  每位数字都加上5，然后除以10的余数代替该数字，再将第一位和第六位交换，
 *  第二位和第五位交换，第三位和第四位交换，最后输出加密后的数据
 */
public class ArrayDemo03 {

    public static void main(String[] args) {
        // 1、创建键盘输入对象
        Scanner scanner = new Scanner(System.in);

        // 2、定义一个整型变量，用于存储键盘输入的6位数
        System.out.println("请输入一个6位整数：");
        int num = scanner.nextInt();

        // 3、定义一个整型数组，用于存放拆开后的6个数字
        int[] arr = new int[6];

        // 4、将拆开的6个数存入数组中
        arr[0] = num / 100000;
        arr[1] = num % 100000 / 10000;
        arr[2] = num % 10000 / 1000;
        arr[3] = num % 1000 / 100;
        arr[4] = num % 100 / 10;
        arr[5] = num % 10;

        // 5、对数组元素进行加5，除以10取余运算
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (arr[i] + 5) % 10;
        }

        // 6、交换数组元素的位置
        int temp = 0;
        for (int i = 0; i < arr.length / 2; i++) {
            temp = arr[i];
            arr[i] = arr[arr.length - 1 - i];
            arr[arr.length - 1 - i] = temp;
        }

        // 7、输出
        System.out.println("加密后的数据为：");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
    }
}
